package cn.signalpha.modules.shop.mapper;

import cn.signalpha.modules.shop.entity.Goods;
import cn.signalpha.modules.shop.vo.GoodsListVO;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 商品 Mapper 接口
 *
 * @author suguangjun
 */
public interface GoodsMapper extends BaseMapper<Goods> {

	/**
	 * 自定义分页
	 */
	List<GoodsListVO> selectGoodsPage(IPage page, @Param("params") Map<String, Object> params);

	/**
	 * 提交订单 减少库存
	 */
	int subtractStocks(@Param("goodsId") Long goodsId, @Param("stock") Integer stock);

	/**
	 * 取消订单 返回库存
	 */
	int returnStock(@Param("goodsCollect") Map<Long, Integer> goodsCollect);

	/**
	 * 付款成功 增加商品销量
	 */
	int addSalesVolume(@Param("goodsCollect") Map<Long, Integer> goodsCollect);

}
